#pragma once
#include <glm/gtx/quaternion.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/vec3.hpp>

namespace glm
{
	glm::mat4 MatrixTRS(glm::vec3 translate, glm::quat rotation, glm::vec3 scale)
	{
		glm::mat4 scalingMat = glm::scale(glm::mat4(1.0f), scale);
		glm::mat4 rotationMat = glm::mat4_cast(rotation);
		glm::mat4 translateMat = glm::translate(glm::mat4(1.0f), translate);
		return translateMat * rotationMat * scalingMat;
	}

	void test()
	{
		glm::transpose(glm::mat4());
	}
}